package com.lutzyt.delivery.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lutzyt.delivery.bean.DiscountCouponItem;

/**
 * 优惠券
 * @author zyt
 */
public interface DiscountCouponItemService extends IService<DiscountCouponItem> {

  /**
   * 通过ID查询单个优惠券
   *
   * @param id ID
   * @return {@link DiscountCouponItem}
   */
  DiscountCouponItem findById(Integer id);

  /**
   * 分页查询优惠券
   *
   * @param pageNum  页号
   * @param pageSize 每页大小
   * @param id 优惠券id
   * @return {@link DiscountCouponItem}
   */
  IPage<DiscountCouponItem> findByPage(int pageNum, int pageSize, int id);

  /**
   * 新增优惠券
   *
   * @param discountCouponItem 优惠券
   */
  void insert(DiscountCouponItem discountCouponItem);

  /**
   * 修改优惠券
   *
   * @param discountCouponItem 优惠券
   */
  void update(DiscountCouponItem discountCouponItem);

  /**
   * 通过ID删除单个优惠券
   *
   * @param id ID
   */
  void deleteById(Integer id);

  /**
   * 根据客户id和优惠券id领取优惠券
   * @param customerId 客户id
   * @param discountCouponId 优惠券id
   */
  void draw(Integer customerId, Integer discountCouponId);
}